/**
 *
 * @author bwolff
 */

package coffee;

import java.util.HashMap;
import java.util.Map;

public final class Constants {
    public static Map<Integer, String> map = new HashMap<Integer, String>();
    
    public static void initMap() {
        map.put(1, "MAKE");
        map.put(2, "GET");
        map.put(3, "FILL");
        map.put(4, "EMPTY_GARBAGE");
        map.put(5, "CLEAN_MACHINE");
        map.put(6, "QUIT");
        
        map.put(10, "COFFEE");
        map.put(11, "ESPRESSO");
        map.put(12, "CAPPUCCINO");
        map.put(13, "BLACK_TEA");
        map.put(14, "GREEN_TEA");
        map.put(15, "FRUIT_TEA");
        
        
        map.put(20, "ARABICA");
        map.put(21, "ROBUSTA");
        map.put(22, "MILK");
        map.put(23, "HAZELNUT");
        map.put(24, "CARAMEL");
        
        map.put(40, "SMALL_CUP");
        map.put(41, "MEDIUM_CUP");
        map.put(42, "BIG_CUP");
        
        map.put(50, "PADS");
        map.put(51, "MAX_PADS");
        map.put(52, "NEEDED_PADS");
        map.put(53, "CAFFEINE");
        map.put(54, "EXTRA_LEVEL");
        map.put(55, "MAX_EXTRA_LEVEL");
        map.put(56, "NEEDED_EXTRA_LEVEL");
        map.put(57, "PRICE");
        map.put(58, "GARBAGE_LEVEL");
        map.put(59, "MAX_GARBAGE_LEVEL");

        map.put(60, "ALL");
        map.put(61, "ALL_COFFEE");
        map.put(62, "ALL_TEA");
        map.put(63, "ALL_EXTRAS");
        
        map.put(70, "ERROR");
        map.put(71, "INFO");
        map.put(72, "WARNING");
        map.put(73, "RANDOM_INFO");
        map.put(74, "ACCEPTED_COFFEE");
        map.put(75, "ACCEPTED_TEA");
        map.put(76, "TRUE");
        map.put(77, "FALSE");
        map.put(78, "READY_COFFEE");
        map.put(79, "READY_TEA");
        map.put(80, "FILLED");
        map.put(81, "MACHINE_CLEANED");

	map.put(90, "EMPTY");
        map.put(91, "INSUFFICIANT");
        map.put(92, "GARBAGE_FULL");
        map.put(93, "GARBAGE_INSUFFICIANT");
        map.put(94, "COFFEE_IN_USE");
        map.put(95, "TEA_IN_USE");
        map.put(96, "INVALID_PARAMETER");
        map.put(97, "INVALID_COMMAND");
        map.put(98, "NEEDS_CLEANING");
    }

	// constants to build up connection
	public static final int PORT = 12345;
	public static final String HOST = "localhost";

	// general constants to begin a command with
	public static final int MAKE = 1;
	public static final int GET = 2;
	public static final int FILL = 3;
	public static final int EMPTY_GARBAGE = 4;
	public static final int CLEAN_MACHINE = 5;
	public static final int QUIT = 6;

	// constants for different beverages
	public static final int COFFEE = 10;
	public static final int ESPRESSO = 11;
	public static final int CAPPUCCINO = 12;
	public static final int BLACK_TEA = 13;
	public static final int GREEN_TEA = 14;
	public static final int FRUIT_TEA = 15;

	// constants for beans and extras
	public static final int ARABICA = 20;
	public static final int ROBUSTA = 21;
	public static final int MILK = 22;
	public static final int HAZELNUT = 23;
	public static final int CARAMEL = 24;

	// constants for time
	public static final int TIME = 30;

	// constants for cupsizes
	public static final int SMALL_CUP = 40;
	public static final int MEDIUM_CUP = 41;
	public static final int BIG_CUP = 42;

	// constants for GET-command
	public static final int PADS = 50;
	public static final int MAX_PADS = 51;
	public static final int NEEDED_PADS = 52;
	public static final int CAFFEINE = 53;
	public static final int EXTRA_LEVEL = 54;
	public static final int MAX_EXTRA_LEVEL = 55;
	public static final int NEEDED_EXTRA_LEVEL = 56;
	public static final int PRICE = 57;
	public static final int GARBAGE_LEVEL = 58;
	public static final int MAX_GARBAGE_LEVEL = 59;

	// constants for FILL-command:
	public static final int ALL = 60;
	public static final int ALL_COFFEE = 61;
	public static final int ALL_TEA = 62;
	public static final int ALL_EXTRAS = 63;

	// constants for server replies:
	public static final int ERROR = 70;
	public static final int INFO = 71;
	public static final int WARNING = 72;
	public static final int RANDOM_INFO = 73;
	public static final int ACCEPTED_COFFEE = 74;
	public static final int ACCEPTED_TEA = 75;
	public static final int TRUE = 76;
	public static final int FALSE = 77;
	public static final int READY_COFFEE = 78;
	public static final int READY_TEA = 79;
	public static final int FILLED = 80;
	public static final int MACHINE_CLEANED = 81;
	
	
	// constants for error/warning messages
	public static final int EMPTY = 90;
	public static final int INSUFFICIANT = 91;
	public static final int GARBAGE_FULL = 92;
	public static final int GARBAGE_INSUFFICIANT = 93;
	public static final int COFFEE_IN_USE = 94;
	public static final int TEA_IN_USE = 95;
	public static final int INVALID_PARAMETER = 96;
	public static final int INVALID_COMMAND =97;
	public static final int NEEDS_CLEANING = 98;
}
